package com.example.demo.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DocumentExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DocumentExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andDocumentIdIsNull() {
            addCriterion("DOCUMENT_ID is null");
            return (Criteria) this;
        }

        public Criteria andDocumentIdIsNotNull() {
            addCriterion("DOCUMENT_ID is not null");
            return (Criteria) this;
        }

        public Criteria andDocumentIdEqualTo(Integer value) {
            addCriterion("DOCUMENT_ID =", value, "documentId");
            return (Criteria) this;
        }

        public Criteria andDocumentIdNotEqualTo(Integer value) {
            addCriterion("DOCUMENT_ID <>", value, "documentId");
            return (Criteria) this;
        }

        public Criteria andDocumentIdGreaterThan(Integer value) {
            addCriterion("DOCUMENT_ID >", value, "documentId");
            return (Criteria) this;
        }

        public Criteria andDocumentIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("DOCUMENT_ID >=", value, "documentId");
            return (Criteria) this;
        }

        public Criteria andDocumentIdLessThan(Integer value) {
            addCriterion("DOCUMENT_ID <", value, "documentId");
            return (Criteria) this;
        }

        public Criteria andDocumentIdLessThanOrEqualTo(Integer value) {
            addCriterion("DOCUMENT_ID <=", value, "documentId");
            return (Criteria) this;
        }

        public Criteria andDocumentIdIn(List<Integer> values) {
            addCriterion("DOCUMENT_ID in", values, "documentId");
            return (Criteria) this;
        }

        public Criteria andDocumentIdNotIn(List<Integer> values) {
            addCriterion("DOCUMENT_ID not in", values, "documentId");
            return (Criteria) this;
        }

        public Criteria andDocumentIdBetween(Integer value1, Integer value2) {
            addCriterion("DOCUMENT_ID between", value1, value2, "documentId");
            return (Criteria) this;
        }

        public Criteria andDocumentIdNotBetween(Integer value1, Integer value2) {
            addCriterion("DOCUMENT_ID not between", value1, value2, "documentId");
            return (Criteria) this;
        }

        public Criteria andDocuNameIsNull() {
            addCriterion("DOCU_NAME is null");
            return (Criteria) this;
        }

        public Criteria andDocuNameIsNotNull() {
            addCriterion("DOCU_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andDocuNameEqualTo(String value) {
            addCriterion("DOCU_NAME =", value, "docuName");
            return (Criteria) this;
        }

        public Criteria andDocuNameNotEqualTo(String value) {
            addCriterion("DOCU_NAME <>", value, "docuName");
            return (Criteria) this;
        }

        public Criteria andDocuNameGreaterThan(String value) {
            addCriterion("DOCU_NAME >", value, "docuName");
            return (Criteria) this;
        }

        public Criteria andDocuNameGreaterThanOrEqualTo(String value) {
            addCriterion("DOCU_NAME >=", value, "docuName");
            return (Criteria) this;
        }

        public Criteria andDocuNameLessThan(String value) {
            addCriterion("DOCU_NAME <", value, "docuName");
            return (Criteria) this;
        }

        public Criteria andDocuNameLessThanOrEqualTo(String value) {
            addCriterion("DOCU_NAME <=", value, "docuName");
            return (Criteria) this;
        }

        public Criteria andDocuNameLike(String value) {
            addCriterion("DOCU_NAME like", value, "docuName");
            return (Criteria) this;
        }

        public Criteria andDocuNameNotLike(String value) {
            addCriterion("DOCU_NAME not like", value, "docuName");
            return (Criteria) this;
        }

        public Criteria andDocuNameIn(List<String> values) {
            addCriterion("DOCU_NAME in", values, "docuName");
            return (Criteria) this;
        }

        public Criteria andDocuNameNotIn(List<String> values) {
            addCriterion("DOCU_NAME not in", values, "docuName");
            return (Criteria) this;
        }

        public Criteria andDocuNameBetween(String value1, String value2) {
            addCriterion("DOCU_NAME between", value1, value2, "docuName");
            return (Criteria) this;
        }

        public Criteria andDocuNameNotBetween(String value1, String value2) {
            addCriterion("DOCU_NAME not between", value1, value2, "docuName");
            return (Criteria) this;
        }

        public Criteria andDocuProjectIdIsNull() {
            addCriterion("DOCU_PROJECT_ID is null");
            return (Criteria) this;
        }

        public Criteria andDocuProjectIdIsNotNull() {
            addCriterion("DOCU_PROJECT_ID is not null");
            return (Criteria) this;
        }

        public Criteria andDocuProjectIdEqualTo(Integer value) {
            addCriterion("DOCU_PROJECT_ID =", value, "docuProjectId");
            return (Criteria) this;
        }

        public Criteria andDocuProjectIdNotEqualTo(Integer value) {
            addCriterion("DOCU_PROJECT_ID <>", value, "docuProjectId");
            return (Criteria) this;
        }

        public Criteria andDocuProjectIdGreaterThan(Integer value) {
            addCriterion("DOCU_PROJECT_ID >", value, "docuProjectId");
            return (Criteria) this;
        }

        public Criteria andDocuProjectIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("DOCU_PROJECT_ID >=", value, "docuProjectId");
            return (Criteria) this;
        }

        public Criteria andDocuProjectIdLessThan(Integer value) {
            addCriterion("DOCU_PROJECT_ID <", value, "docuProjectId");
            return (Criteria) this;
        }

        public Criteria andDocuProjectIdLessThanOrEqualTo(Integer value) {
            addCriterion("DOCU_PROJECT_ID <=", value, "docuProjectId");
            return (Criteria) this;
        }

        public Criteria andDocuProjectIdIn(List<Integer> values) {
            addCriterion("DOCU_PROJECT_ID in", values, "docuProjectId");
            return (Criteria) this;
        }

        public Criteria andDocuProjectIdNotIn(List<Integer> values) {
            addCriterion("DOCU_PROJECT_ID not in", values, "docuProjectId");
            return (Criteria) this;
        }

        public Criteria andDocuProjectIdBetween(Integer value1, Integer value2) {
            addCriterion("DOCU_PROJECT_ID between", value1, value2, "docuProjectId");
            return (Criteria) this;
        }

        public Criteria andDocuProjectIdNotBetween(Integer value1, Integer value2) {
            addCriterion("DOCU_PROJECT_ID not between", value1, value2, "docuProjectId");
            return (Criteria) this;
        }

        public Criteria andDocuCompanyIdIsNull() {
            addCriterion("DOCU_COMPANY_ID is null");
            return (Criteria) this;
        }

        public Criteria andDocuCompanyIdIsNotNull() {
            addCriterion("DOCU_COMPANY_ID is not null");
            return (Criteria) this;
        }

        public Criteria andDocuCompanyIdEqualTo(Integer value) {
            addCriterion("DOCU_COMPANY_ID =", value, "docuCompanyId");
            return (Criteria) this;
        }

        public Criteria andDocuCompanyIdNotEqualTo(Integer value) {
            addCriterion("DOCU_COMPANY_ID <>", value, "docuCompanyId");
            return (Criteria) this;
        }

        public Criteria andDocuCompanyIdGreaterThan(Integer value) {
            addCriterion("DOCU_COMPANY_ID >", value, "docuCompanyId");
            return (Criteria) this;
        }

        public Criteria andDocuCompanyIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("DOCU_COMPANY_ID >=", value, "docuCompanyId");
            return (Criteria) this;
        }

        public Criteria andDocuCompanyIdLessThan(Integer value) {
            addCriterion("DOCU_COMPANY_ID <", value, "docuCompanyId");
            return (Criteria) this;
        }

        public Criteria andDocuCompanyIdLessThanOrEqualTo(Integer value) {
            addCriterion("DOCU_COMPANY_ID <=", value, "docuCompanyId");
            return (Criteria) this;
        }

        public Criteria andDocuCompanyIdIn(List<Integer> values) {
            addCriterion("DOCU_COMPANY_ID in", values, "docuCompanyId");
            return (Criteria) this;
        }

        public Criteria andDocuCompanyIdNotIn(List<Integer> values) {
            addCriterion("DOCU_COMPANY_ID not in", values, "docuCompanyId");
            return (Criteria) this;
        }

        public Criteria andDocuCompanyIdBetween(Integer value1, Integer value2) {
            addCriterion("DOCU_COMPANY_ID between", value1, value2, "docuCompanyId");
            return (Criteria) this;
        }

        public Criteria andDocuCompanyIdNotBetween(Integer value1, Integer value2) {
            addCriterion("DOCU_COMPANY_ID not between", value1, value2, "docuCompanyId");
            return (Criteria) this;
        }

        public Criteria andDocuCreatDateIsNull() {
            addCriterion("DOCU_CREAT_DATE is null");
            return (Criteria) this;
        }

        public Criteria andDocuCreatDateIsNotNull() {
            addCriterion("DOCU_CREAT_DATE is not null");
            return (Criteria) this;
        }

        public Criteria andDocuCreatDateEqualTo(Date value) {
            addCriterion("DOCU_CREAT_DATE =", value, "docuCreatDate");
            return (Criteria) this;
        }

        public Criteria andDocuCreatDateNotEqualTo(Date value) {
            addCriterion("DOCU_CREAT_DATE <>", value, "docuCreatDate");
            return (Criteria) this;
        }

        public Criteria andDocuCreatDateGreaterThan(Date value) {
            addCriterion("DOCU_CREAT_DATE >", value, "docuCreatDate");
            return (Criteria) this;
        }

        public Criteria andDocuCreatDateGreaterThanOrEqualTo(Date value) {
            addCriterion("DOCU_CREAT_DATE >=", value, "docuCreatDate");
            return (Criteria) this;
        }

        public Criteria andDocuCreatDateLessThan(Date value) {
            addCriterion("DOCU_CREAT_DATE <", value, "docuCreatDate");
            return (Criteria) this;
        }

        public Criteria andDocuCreatDateLessThanOrEqualTo(Date value) {
            addCriterion("DOCU_CREAT_DATE <=", value, "docuCreatDate");
            return (Criteria) this;
        }

        public Criteria andDocuCreatDateIn(List<Date> values) {
            addCriterion("DOCU_CREAT_DATE in", values, "docuCreatDate");
            return (Criteria) this;
        }

        public Criteria andDocuCreatDateNotIn(List<Date> values) {
            addCriterion("DOCU_CREAT_DATE not in", values, "docuCreatDate");
            return (Criteria) this;
        }

        public Criteria andDocuCreatDateBetween(Date value1, Date value2) {
            addCriterion("DOCU_CREAT_DATE between", value1, value2, "docuCreatDate");
            return (Criteria) this;
        }

        public Criteria andDocuCreatDateNotBetween(Date value1, Date value2) {
            addCriterion("DOCU_CREAT_DATE not between", value1, value2, "docuCreatDate");
            return (Criteria) this;
        }

        public Criteria andDocuUpdateTimeIsNull() {
            addCriterion("DOCU_UPDATE_TIME is null");
            return (Criteria) this;
        }

        public Criteria andDocuUpdateTimeIsNotNull() {
            addCriterion("DOCU_UPDATE_TIME is not null");
            return (Criteria) this;
        }

        public Criteria andDocuUpdateTimeEqualTo(Date value) {
            addCriterion("DOCU_UPDATE_TIME =", value, "docuUpdateTime");
            return (Criteria) this;
        }

        public Criteria andDocuUpdateTimeNotEqualTo(Date value) {
            addCriterion("DOCU_UPDATE_TIME <>", value, "docuUpdateTime");
            return (Criteria) this;
        }

        public Criteria andDocuUpdateTimeGreaterThan(Date value) {
            addCriterion("DOCU_UPDATE_TIME >", value, "docuUpdateTime");
            return (Criteria) this;
        }

        public Criteria andDocuUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("DOCU_UPDATE_TIME >=", value, "docuUpdateTime");
            return (Criteria) this;
        }

        public Criteria andDocuUpdateTimeLessThan(Date value) {
            addCriterion("DOCU_UPDATE_TIME <", value, "docuUpdateTime");
            return (Criteria) this;
        }

        public Criteria andDocuUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("DOCU_UPDATE_TIME <=", value, "docuUpdateTime");
            return (Criteria) this;
        }

        public Criteria andDocuUpdateTimeIn(List<Date> values) {
            addCriterion("DOCU_UPDATE_TIME in", values, "docuUpdateTime");
            return (Criteria) this;
        }

        public Criteria andDocuUpdateTimeNotIn(List<Date> values) {
            addCriterion("DOCU_UPDATE_TIME not in", values, "docuUpdateTime");
            return (Criteria) this;
        }

        public Criteria andDocuUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("DOCU_UPDATE_TIME between", value1, value2, "docuUpdateTime");
            return (Criteria) this;
        }

        public Criteria andDocuUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("DOCU_UPDATE_TIME not between", value1, value2, "docuUpdateTime");
            return (Criteria) this;
        }

        public Criteria andDocuCreaterIdIsNull() {
            addCriterion("DOCU_CREATER_ID is null");
            return (Criteria) this;
        }

        public Criteria andDocuCreaterIdIsNotNull() {
            addCriterion("DOCU_CREATER_ID is not null");
            return (Criteria) this;
        }

        public Criteria andDocuCreaterIdEqualTo(Integer value) {
            addCriterion("DOCU_CREATER_ID =", value, "docuCreaterId");
            return (Criteria) this;
        }

        public Criteria andDocuCreaterIdNotEqualTo(Integer value) {
            addCriterion("DOCU_CREATER_ID <>", value, "docuCreaterId");
            return (Criteria) this;
        }

        public Criteria andDocuCreaterIdGreaterThan(Integer value) {
            addCriterion("DOCU_CREATER_ID >", value, "docuCreaterId");
            return (Criteria) this;
        }

        public Criteria andDocuCreaterIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("DOCU_CREATER_ID >=", value, "docuCreaterId");
            return (Criteria) this;
        }

        public Criteria andDocuCreaterIdLessThan(Integer value) {
            addCriterion("DOCU_CREATER_ID <", value, "docuCreaterId");
            return (Criteria) this;
        }

        public Criteria andDocuCreaterIdLessThanOrEqualTo(Integer value) {
            addCriterion("DOCU_CREATER_ID <=", value, "docuCreaterId");
            return (Criteria) this;
        }

        public Criteria andDocuCreaterIdIn(List<Integer> values) {
            addCriterion("DOCU_CREATER_ID in", values, "docuCreaterId");
            return (Criteria) this;
        }

        public Criteria andDocuCreaterIdNotIn(List<Integer> values) {
            addCriterion("DOCU_CREATER_ID not in", values, "docuCreaterId");
            return (Criteria) this;
        }

        public Criteria andDocuCreaterIdBetween(Integer value1, Integer value2) {
            addCriterion("DOCU_CREATER_ID between", value1, value2, "docuCreaterId");
            return (Criteria) this;
        }

        public Criteria andDocuCreaterIdNotBetween(Integer value1, Integer value2) {
            addCriterion("DOCU_CREATER_ID not between", value1, value2, "docuCreaterId");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityVisitorIsNull() {
            addCriterion("DOCU_AUTHORITY_VISITOR is null");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityVisitorIsNotNull() {
            addCriterion("DOCU_AUTHORITY_VISITOR is not null");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityVisitorEqualTo(Integer value) {
            addCriterion("DOCU_AUTHORITY_VISITOR =", value, "docuAuthorityVisitor");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityVisitorNotEqualTo(Integer value) {
            addCriterion("DOCU_AUTHORITY_VISITOR <>", value, "docuAuthorityVisitor");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityVisitorGreaterThan(Integer value) {
            addCriterion("DOCU_AUTHORITY_VISITOR >", value, "docuAuthorityVisitor");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityVisitorGreaterThanOrEqualTo(Integer value) {
            addCriterion("DOCU_AUTHORITY_VISITOR >=", value, "docuAuthorityVisitor");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityVisitorLessThan(Integer value) {
            addCriterion("DOCU_AUTHORITY_VISITOR <", value, "docuAuthorityVisitor");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityVisitorLessThanOrEqualTo(Integer value) {
            addCriterion("DOCU_AUTHORITY_VISITOR <=", value, "docuAuthorityVisitor");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityVisitorIn(List<Integer> values) {
            addCriterion("DOCU_AUTHORITY_VISITOR in", values, "docuAuthorityVisitor");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityVisitorNotIn(List<Integer> values) {
            addCriterion("DOCU_AUTHORITY_VISITOR not in", values, "docuAuthorityVisitor");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityVisitorBetween(Integer value1, Integer value2) {
            addCriterion("DOCU_AUTHORITY_VISITOR between", value1, value2, "docuAuthorityVisitor");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityVisitorNotBetween(Integer value1, Integer value2) {
            addCriterion("DOCU_AUTHORITY_VISITOR not between", value1, value2, "docuAuthorityVisitor");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityEmployeeIsNull() {
            addCriterion("DOCU_AUTHORITY_EMPLOYEE is null");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityEmployeeIsNotNull() {
            addCriterion("DOCU_AUTHORITY_EMPLOYEE is not null");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityEmployeeEqualTo(Integer value) {
            addCriterion("DOCU_AUTHORITY_EMPLOYEE =", value, "docuAuthorityEmployee");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityEmployeeNotEqualTo(Integer value) {
            addCriterion("DOCU_AUTHORITY_EMPLOYEE <>", value, "docuAuthorityEmployee");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityEmployeeGreaterThan(Integer value) {
            addCriterion("DOCU_AUTHORITY_EMPLOYEE >", value, "docuAuthorityEmployee");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityEmployeeGreaterThanOrEqualTo(Integer value) {
            addCriterion("DOCU_AUTHORITY_EMPLOYEE >=", value, "docuAuthorityEmployee");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityEmployeeLessThan(Integer value) {
            addCriterion("DOCU_AUTHORITY_EMPLOYEE <", value, "docuAuthorityEmployee");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityEmployeeLessThanOrEqualTo(Integer value) {
            addCriterion("DOCU_AUTHORITY_EMPLOYEE <=", value, "docuAuthorityEmployee");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityEmployeeIn(List<Integer> values) {
            addCriterion("DOCU_AUTHORITY_EMPLOYEE in", values, "docuAuthorityEmployee");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityEmployeeNotIn(List<Integer> values) {
            addCriterion("DOCU_AUTHORITY_EMPLOYEE not in", values, "docuAuthorityEmployee");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityEmployeeBetween(Integer value1, Integer value2) {
            addCriterion("DOCU_AUTHORITY_EMPLOYEE between", value1, value2, "docuAuthorityEmployee");
            return (Criteria) this;
        }

        public Criteria andDocuAuthorityEmployeeNotBetween(Integer value1, Integer value2) {
            addCriterion("DOCU_AUTHORITY_EMPLOYEE not between", value1, value2, "docuAuthorityEmployee");
            return (Criteria) this;
        }

        public Criteria andDocuAddressIsNull() {
            addCriterion("DOCU_ADDRESS is null");
            return (Criteria) this;
        }

        public Criteria andDocuAddressIsNotNull() {
            addCriterion("DOCU_ADDRESS is not null");
            return (Criteria) this;
        }

        public Criteria andDocuAddressEqualTo(String value) {
            addCriterion("DOCU_ADDRESS =", value, "docuAddress");
            return (Criteria) this;
        }

        public Criteria andDocuAddressNotEqualTo(String value) {
            addCriterion("DOCU_ADDRESS <>", value, "docuAddress");
            return (Criteria) this;
        }

        public Criteria andDocuAddressGreaterThan(String value) {
            addCriterion("DOCU_ADDRESS >", value, "docuAddress");
            return (Criteria) this;
        }

        public Criteria andDocuAddressGreaterThanOrEqualTo(String value) {
            addCriterion("DOCU_ADDRESS >=", value, "docuAddress");
            return (Criteria) this;
        }

        public Criteria andDocuAddressLessThan(String value) {
            addCriterion("DOCU_ADDRESS <", value, "docuAddress");
            return (Criteria) this;
        }

        public Criteria andDocuAddressLessThanOrEqualTo(String value) {
            addCriterion("DOCU_ADDRESS <=", value, "docuAddress");
            return (Criteria) this;
        }

        public Criteria andDocuAddressLike(String value) {
            addCriterion("DOCU_ADDRESS like", value, "docuAddress");
            return (Criteria) this;
        }

        public Criteria andDocuAddressNotLike(String value) {
            addCriterion("DOCU_ADDRESS not like", value, "docuAddress");
            return (Criteria) this;
        }

        public Criteria andDocuAddressIn(List<String> values) {
            addCriterion("DOCU_ADDRESS in", values, "docuAddress");
            return (Criteria) this;
        }

        public Criteria andDocuAddressNotIn(List<String> values) {
            addCriterion("DOCU_ADDRESS not in", values, "docuAddress");
            return (Criteria) this;
        }

        public Criteria andDocuAddressBetween(String value1, String value2) {
            addCriterion("DOCU_ADDRESS between", value1, value2, "docuAddress");
            return (Criteria) this;
        }

        public Criteria andDocuAddressNotBetween(String value1, String value2) {
            addCriterion("DOCU_ADDRESS not between", value1, value2, "docuAddress");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}